package com.itheima.health.dao;

import com.github.pagehelper.Page;
import com.itheima.health.pojo.CheckGroup;
import org.apache.ibatis.annotations.*;

import java.util.List;

@Mapper
public interface CheckGroupMapper {
    /**
     * 分页查询
     * @param queryString
     * @return
     */
    Page<CheckGroup> select(String queryString);

    /**
     * 新增
     * @param checkGroup
     */
    Integer insert(CheckGroup checkGroup);

    /**
     * 插入关系表
     * @param groupId
     * @param checkitemId
     * @param name
     */
    @Insert("insert into t_group_item (groupId,itemId,itemName) values (#{groupId},#{checkitemId},#{name})")
    void insertGroupItem(Integer groupId, Integer checkitemId, String name);

    /**
     * 通过groupId获取itemId数组
     * @param id
     * @return
     */
    @Select("select itemId from t_group_item where groupId = #{id}")
    List<Integer> findCheckItemIdsByCheckGroupId(Integer id);

    /**
     * 通过id查询
     * @param id
     * @return
     */
    @Select("select * from t_checkgroup where id = #{id}")
    CheckGroup findById(Integer id);

    /**
     * 清空关系表
     * @param groupId
     */
    @Delete("delete from t_group_item where groupId = #{groupId}")
    void deleteGroupItem(Integer groupId);

    /**
     * 修改
     * @param checkGroup
     * @return
     */

    void updateGroup(CheckGroup checkGroup);

    /**
     * 删除group
     * @param id
     */
    @Delete("delete from t_checkgroup where id = #{id}")
    void deleteGroup(Integer id);

    /**
     * 查询所有
     * @return
     */
    @Select("select * from t_checkgroup")
    List<CheckGroup> findAll();

    /**
     * 通过id查询
     * @param checkgroupId
     * @return
     */
    @Select("select * from t_checkgroup where id = #{id}")
    CheckGroup selectById(Integer checkgroupId);

    /**
     * 查询详情
     * @param integer
     * @return
     */
    @Select("select itemId from t_group_item where groupId = #{integer}")
    List<Integer> findByGroupId(Integer integer);
}
